package com.yonyou.sto.modules.ims.dto;

import com.yonyou.sto.modules.ims.model.ImsBillItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author Aegon Targaryen
 * @date Created in 2020/10/15 14:44
 * @description: TODO
 */
@Data
@ApiModel(value = "发票列表对象", description = "")
public class BillDto {

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "发票流水号")
    private String billSerial;

    @ApiModelProperty(value = "收款单编号")
    private String billSn;

    @ApiModelProperty(value = "发票号码")
    private String billNo;

    @ApiModelProperty(value = "发票代码")
    private String billCode;

    @ApiModelProperty(value = "销售方名称")
    private String sellerName;

    @ApiModelProperty(value = "销售方纳税人识别号")
    private String sellerTaxSn;

    @ApiModelProperty(value = "销售方地址电话")
    private String sellerAddressPhone;

    @ApiModelProperty(value = "销售方银行账户")
    private String sellerBankAccount;

    @ApiModelProperty(value = "购买方")
    private String buyerName;

    @ApiModelProperty(value = "购买方纳税人识别号")
    private String buyerTaxSn;

    @ApiModelProperty(value = "购买方地址电话")
    private String buyerAddressPhone;

    @ApiModelProperty(value = "购买方银行账号")
    private String buyerBankAccount;

    @ApiModelProperty(value = "金额")
    private BigDecimal payAmount;

    @ApiModelProperty(value = "税额")
    private BigDecimal taxAmount;

    @ApiModelProperty(value = "价税合计")
    private BigDecimal taxTotal;

    @ApiModelProperty(value = "收款内容和备注")
    private String note;

    @ApiModelProperty(value = "发票类型：3->增值税普通发票；4->增值税专用发票")
    private Integer billType;

    @ApiModelProperty(value = "开票日期")
    private String createTime;

    @ApiModelProperty(value = "发票状态")
    private Integer status;

    @ApiModelProperty(value = "发票提取url")
    private String extractUrl;

    @ApiModelProperty(value = "发票提取码与提取url配合使用")
    private String extractCode;

    @ApiModelProperty(value = "开票日期")
    private String redTime;

    @ApiModelProperty(value = "开票日期")
    private String cancelTime;

    @ApiModelProperty(value = "合同编号")
    private String contractSn;

    @ApiModelProperty(value = "合同名称")
    private String contractName;

    @ApiModelProperty(value = "发票内容")
    private String billContent;

    @ApiModelProperty(value = "发票明细")
    private List<ImsBillItem> billItems;

}
